LINDA+

Pipeline

LINDA+ is a method used to identify intra- and inter-cellular interaction networks at a domain resolution, allowing to further study the effects of AS on signalling. It is a tool that integrates prior knowledge (PKN) of directed joint interactions (protein-protein and Domain-Domain intra-cellular interactions from DIGGER (Louadi et al. 2021)) as well as structurally resolved ligand-receptor pairs from various resources (list of resources when ready) with estimated transcription factor enzymatic activities from DoRothEA (Garcia-Alonso et al. 2019) based on sc-RNAseq reads and optionally abundances of secreted extra-cellular proteins from Secretomics data analysis. This is achieved by contextualising large-scale prior knowledge of joint interactions from sequencing and MS/MS data in order to identify a subset of functional interactions between proteins and their domains through the implementation of an Integer Linear Programming (ILP) formulation. The pipeline of the LINDA+ methodology has been depicted in Figure 1.

Figure 1: LINDA+ pipeline

The inputs of the method consist of the following:

1. From the DoRothEA (Garcia-Alonso et al., 2018) resource, normalized transcription factor (TF) enrichment scores (NESs) can be estimated with viper (Shen et al. 2014; Alvarez et al. 2016). Based on their activities, the most regulated TF’s can then be used as the bottom layer of signalling from where we reverse-engineer the upstream regulatory interactions.

2. Abundances of ligands obtained from LC-MS secretomics. TBD: How to use secretomics data as inputs.

3. A joint network graph from DIGGER (Louadi et al. 2021) that integrates PPIs and DDIs and in which nodes represent protein domains defined by concatenating Entrez and Pfam id. The resource contains database tables for both genomic data, e.g. genes with their corresponding transcript and exon coordinates, and for proteins, e.g. isoforms and their domains. The protein coordinates were converted to genomic coordinates in the coding sequence and both tables are merged to be able to map transcripts with their corresponding exons to the corresponding protein isoforms and Pfam domains.

4. Structurally resolved ligand-receptor pairs from various resources. TBD: What resources to use

Examples

Below are provided examples which help the user to better understand the functioning of the LINDA+ R-package and the format of the LINDA+ inputs.

Toy Example

Below are provided the steps of running a small Toy test study which we have depicted in Figure 2. In this Toy case-study we are depicting a system of 3 different cell-types (CellA, CellB and CellC) where each node represents a protein (domains not depicted) while edges represent interactions between nodes. Yellow triangles represent cell-receptors, red squares represent intra-cellular proteins, green triangles represent TF’s, while in blue circles we are depicting ligands in the extra-cellular space. The interactions between nodes in the network is what we have obtained from utilizing large-scale resources such as DIGGER for the intra-cellular PPI and DDI’s (Louadi et al. 2021); DoRothEA (Garcia-Alonso et al., 2018) for the TF-to-ligand interactions which connect the intra-cellular space with the extra-cellular space; and resources such as LIANA+ (Dimitrov et al. 2023) or CellPhoneDB (Efremova et al. 2020) that we use as prior knowledge for the ligand-receptor interactions.

Figure 2: LINDA+ Toy Example

Please not that for simplicity reasons in Figure 2 we are depicting each protein as one node in the network, however LINDA+ models interactions between proteins at a domain resolution.

1. Loading of the required packages

R-packages needed to for the analysis.

library(LINDAPlus)

2. Loading of a list object containing prior knowledge of joint intra-cellular PPI-DDI’s and extra-cellular L-R pairs

The list consists of two elements:

background.networks: This should be a named (cell-types) list containing data-frames joint PPI-DDI’s for each cell-type. Each data-frame represents the set of interaction knowledge for each cell-type and it should contain at least 4 columns with the following ID’s: ‘pfam_source’, ‘pfam_target’, ‘gene_source’ and ‘gene_target’. In the case where we have no name for a specific domain or where this is not applicable, please set the corresponding values in the ‘pfam_source’ or ‘pfam_target’ as NA’s.

ligand.receptors: This also should be a named list (‘ligands’ and ‘Receptors’) which contains character vectors where the set of elements that corresponds to Ligands and Receptors have been defined as such.

load(file = system.file("extdata", "toy.background.networks.list.RData", package = "LINDAPlus"))
print(background.networks.list)
## $background.networks
## $background.networks$CellA
##     pfam_source pfam_target gene_source gene_target
## 2            D2         D14          A1          A4
## 3            D4         D18          A2          A5
## 4            D6         D15          A2          A5
## 5           D10         D21          A3          A6
## 6            D9         D19          A3          A6
## 7            D8         D20          A3          A6
## 9           D12         D47          A4          A7
## 10          D13         D46          A4          A7
## 11          D14         D25          A4          A8
## 12          D13         D23          A4          A8
## 13          D16         D24          A5          A8
## 14          D20         D26          A6          A9
## 15          D20         D32          A6         A10
## 16          D19         D31          A6         A10
## 17          D22         D30          A6         A10
## 18          D23         D36          A8         A11
## 19          D23         D38          A8         A12
## 20          D24         D37          A8         A12
## 21          D28         D40          A9         A12
## 22          D32         D43         A10         A13
## 23          D31         D41         A10         A13
## 24          D30         D42         A10         A13
## 25          D34         D48         A11         A14
## 26          D35         D52         A11         A15
## 27          D34         D54         A11         A15
## 28          D36         D53         A11         A15
## 29          D34         D55         A11         A17
## 30          D38         D51         A12         A14
## 31          D39         D48         A12         A14
## 32          D40         D50         A12         A14
## 33          D37         D54         A12         A15
## 34          D39         D59         A12         A16
## 35          D44         D61         A13         A16
## 36          D41         D60         A13         A16
## 37          D41         D57         A13         A17
## 38          D42         D55         A13         A17
## 39          D43         D56         A13         A17
## 1          <NA>        <NA>         A14          L1
## 110        <NA>          D1          L2       A1|A2
## 210        <NA>          D3          L2       A1|A2
## 310        <NA>          D5          L2       A1|A2
## 41         <NA>          D7          L4          A3
## 111        <NA>          D1          L5       A1|A2
## 
## $background.networks$CellB
##     pfam_source pfam_target gene_source gene_target
## 2            D3          D7          B1          B3
## 3            D2          D8          B1          B3
## 4            D2         D12          B1          B4
## 6            D5         D10          B2          B4
## 7            D6         D13          B2          B4
## 8            D4         D12          B2          B4
## 9            D5         D17          B2          B5
## 10           D6         D15          B2          B5
## 11           D8         D20          B3          B6
## 12           D9         D18          B3          B6
## 13           D7         D19          B3          B6
## 14           D8         D23          B3          B7
## 15           D7         D21          B3          B7
## 16           D9         D22          B3          B7
## 17          D12         D26          B4          B8
## 18          D13         D25          B4          B8
## 19          D11         D27          B4          B8
## 20          D16         D28          B5          B9
## 21          D15         D30          B5          B9
## 22          D14         D29          B5          B9
## 23          D20         D33          B6         B10
## 24          D19         D31          B6         B10
## 25          D23         D37          B7         B11
## 26          D22         D35          B7         B11
## 27          D26         D37          B8         B11
## 28          D25         D38          B8         B11
## 29          D24         D36          B8         B11
## 30          D25         D39          B8         B12
## 31          D30         D35          B9         B11
## 32          D31         D43         B10         B13
## 33          D34         D45         B10         B13
## 34          D32         D48         B10         B14
## 35          D31         D50         B10         B14
## 36          D34         D47         B10         B14
## 37          D37         D50         B11         B14
## 38          D38         D49         B11         B14
## 39          D37         D53         B11         B15
## 40          D38         D51         B11         B15
## 41          D35         D54         B11         B15
## 42          D40         D52         B12         B15
## 43          D41         D54         B12         B15
## 44          D39         D51         B12         B15
## 45          D39         D56         B12         B16
## 46          D40         D55         B12         B16
## 1          <NA>        <NA>         B13          L1
## 210        <NA>        <NA>         B16          L2
## 110        <NA>          D1          L3          B1
## 211        <NA>          D4          L4          B2
## 111        <NA>          D1          L5          B1
## 
## $background.networks$CellC
##     pfam_source pfam_target gene_source gene_target
## 2            D1          D8          C1          C3
## 3            D2         D10          C1          C4
## 4            D1         D12          C1          C4
## 5            D3         D14          C2          C5
## 6            D6         D16          C2          C5
## 7            D4         D15          C2          C5
## 8            D7         D18          C3          C6
## 9            D8         D17          C3          C6
## 10           D8         D22          C3          C7
## 11           D7         D24          C3          C7
## 12           D9         D21          C3          C7
## 13          D11         D21          C4          C7
## 14          D13         D23          C4          C7
## 15          D15         D28          C5          C8
## 16          D16         D25          C5          C8
## 17          D14         D26          C5          C8
## 18          D14         D31          C5          C9
## 19          D16         D30          C5          C9
## 20          D17         D36          C6         C11
## 21          D18         D35          C6         C11
## 22          D22         D34          C7         C10
## 23          D23         D32          C7         C10
## 24          D22         D36          C7         C11
## 25          D24         D35          C7         C11
## 26          D27         D35          C8         C11
## 27          D29         D40          C9         C12
## 28          D31         D38          C9         C12
## 29          D34         D41         C10         C13
## 30          D33         D42         C10         C13
## 31          D32         D44         C10         C13
## 32          D32         D47         C10         C14
## 33          D34         D48         C10         C14
## 34          D36         D40         C11         C12
## 35          D35         D38         C11         C12
## 36          D37         D49         C11         C15
## 37          D36         D50         C11         C15
## 38          D36         D55         C11         C16
## 39          D39         D50         C12         C15
## 40          D40         D49         C12         C15
## 41          D38         D52         C12         C15
## 42          D39         D53         C12         C16
## 43          D40         D54         C12         C16
## 44          D38         D55         C12         C16
## 45          D43         D57         C13          L4
## 46          D44         D56         C13          L4
## 47          D41         D58         C13          L4
## 1          <NA>        <NA>         C13          L3
## 210        <NA>        <NA>         C13          L4
## 110        <NA>          D3          L1          C1
## 211        <NA>          D4          L1          C2
## 
## 
## $ligands.receptors
## $ligands.receptors$ligands
## [1] "L1" "L2" "L3" "L4"
## 
## $ligands.receptors$receptors
## [1] "A1|A2" "A3"    "B1"    "B2"    "C1"    "C2"

Please note that receptors that that consist of multi-subunit protein complexes (i.e. 2 or more protein units), should be depicted as separated through ‘|’ symbol (i.e. receptor complex ‘A1|A2’ which consists of proteins A1 and A2).

3. Loading of TF activity scores for each cell-type and Analysis

This information should be provided as a named list (for each cell-type) and which contains data-frames indicating the enrichment scores for each TF at each cell-type. The data-frames should contain at least two columns: ‘tf’ (indicating the TF ID) and the numerical ‘score’ (indicating the enrichment scores for each TF).

load(file = system.file("extdata", "toy.tf.scores.RData", package = "LINDAPlus"))
print(tf.scores)
## $CellA
##    tf score
## 1 A14     1
## 2 A15     0
## 3 A16     0
## 4 A17     1
## 
## $CellB
##    tf score
## 1 B13     1
## 2 B14     1
## 3 B15     0
## 4 B16     1
## 
## $CellC
##    tf score
## 1 C13     1
## 2 C14     0
## 3 C15     1
## 4 C16     0

Additionally users can provide a named (also by cell-type) numerical vector to indicate the number of TF’s to consider as significantly regulated based on their absolute enrichment values. In case that this parameter has not been defined, then by default all the TF’s provided in the data-frames list will be considered as significantly regulated.

load(file = system.file("extdata", "toy.top.tf.RData", package = "LINDAPlus"))
print(top.tf)
## CellA CellB CellC 
##     2     3     2

In principle, to run LINDA+, users do not necessairly need to provide prior information about receptors or ligand-receptor interactions that appear to be regulated or enriched. LINDA+ can such potentially regulated mechanisms from the provided TF activities alone:

res <- runLINDAPlus(background.networks.list = background.networks.list, 
                    tf.scores = tf.scores, 
                    solverPath = "~/Downloads/cplex", 
                    top.tf = top.tf)
## [1] "Writing the objective function and constraints. This might take a bit of time.."
print(res$combined_solutions)
##             Space Gene_Source Gene_Target Weight                       DDI
## 26 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D1
## 27 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D3
## 28 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D5
## 29 Extra-Cellular          L3          B1    101           PSEUDODOMAIN=D1
## 30 Extra-Cellular          L1          C1    101           PSEUDODOMAIN=D3
## 1           CellA          A1          A4    100                    D2=D14
## 2           CellA          A4          A8     95                   D14=D25
## 3           CellA          A8         A11    101                   D23=D36
## 4           CellA         A11         A14    101                   D34=D48
## 5           CellA         A11         A17    101                   D34=D55
## 6           CellA       A1|A2          A1    100                     D2=D2
## 22          CellA         A14          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 31          CellA          L2       A1|A2    101           PSEUDODOMAIN=D1
## 32          CellA          L2       A1|A2    101           PSEUDODOMAIN=D3
## 33          CellA          L2       A1|A2    101           PSEUDODOMAIN=D5
## 44          CellA          A2          A5      2                    D6=D15
## 45          CellA          A5          A8      2                   D16=D24
## 46          CellA       A1|A2          A2      2                     D6=D6
## 55          CellA          A4          A8      6                   D13=D23
## 7           CellB          B1          B3     38                     D3=D7
## 8           CellB          B1          B4    101                    D2=D12
## 9           CellB          B3          B6     10                    D8=D20
## 10          CellB          B4          B8     61                   D12=D26
## 11          CellB          B6         B10     37                   D20=D33
## 12          CellB          B8         B12    101                   D25=D39
## 13          CellB         B10         B13     63                   D34=D45
## 14          CellB         B10         B14     58                   D32=D48
## 15          CellB         B12         B16     54                   D40=D55
## 23          CellB         B13          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 24          CellB         B16          L2    101 PSEUDODOMAIN=PSEUDODOMAIN
## 34          CellB          L3          B1    101           PSEUDODOMAIN=D1
## 38          CellB         B10         B13     39                   D31=D43
## 39          CellB         B12         B16     48                   D39=D56
## 41          CellB          B1          B3     64                     D2=D8
## 43          CellB          B3          B6     87                    D7=D19
## 47          CellB          B4          B8     37                   D11=D27
## 48          CellB          B6         B10     65                   D19=D31
## 49          CellB          B4          B8      5                   D13=D25
## 50          CellB         B10         B14     17                   D31=D50
## 51          CellB         B10         B14     28                   D34=D47
## 56          CellB          B3          B6      6                    D9=D18
## 16          CellC          C1          C3     67                     D1=D8
## 17          CellC          C3          C7     50                    D8=D22
## 18          CellC          C7         C10     25                   D23=D32
## 19          CellC          C7         C11     87                   D22=D36
## 20          CellC         C10         C13     13                   D33=D42
## 21          CellC         C11         C15      3                   D36=D50
## 25          CellC         C13          L3    101 PSEUDODOMAIN=PSEUDODOMAIN
## 35          CellC          L1          C1    101           PSEUDODOMAIN=D3
## 36          CellC         C10         C13     82                   D34=D41
## 37          CellC         C11         C15     99                   D37=D49
## 40          CellC          C7         C11     15                   D24=D35
## 42          CellC          C7         C10     77                   D22=D34
## 52          CellC          C1          C4     20                    D2=D10
## 53          CellC          C4          C7     35                   D11=D21
## 54          CellC          C1          C4     16                    D1=D12
## 57          CellC         C10         C13      8                   D32=D44
## 58          CellC          C3          C7      9                    D7=D24
## 59          CellC          C3          C7     10                    D9=D21

In Figure 3, is depicted the network solution provided by LINDA+.

Figure 3: LINDA+ Toy Example - Solution 1

4. Loading of Ligand scores and Analysis

Users can provide information about the abundance of ligands in the extra-cellular space as made evident by Secretomics data through a data-frame object. More abundant ligands/extra-cellular molecules are more likely to initiate conformational changes in receptors. The data-frame provided should contain two columns: ‘ligands’ (providing the ligand ID’s) and ‘score’ (providing the score associated to each ligand, i.e. abundance). The higher the score of the ligand, the more likely it will be for a ligand to appear in the solution. In this case, we penalize the inclusion of ligand L3 in the solution (lower score value given).

load(file = system.file("extdata", "toy.ligand.scores.RData", package = "LINDAPlus"))
print(ligand.scores)
##   ligand score
## 1     L1     1
## 2     L2     1
## 3     L3     0
## 4     L4     1
res <- runLINDAPlus(background.networks.list = background.networks.list, 
                    tf.scores = tf.scores, 
                    solverPath = "~/Downloads/cplex", 
                    top.tf = top.tf, 
                    ligand.scores = ligand.scores, 
                    lambda1 = 10, 
                    lambda2 = 15)
## [1] "Writing the objective function and constraints. This might take a bit of time.."
print(res$combined_solutions)
##             Space Gene_Source Gene_Target Weight                       DDI
## 22 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D1
## 23 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D3
## 24 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D5
## 25 Extra-Cellular          L4          B2    101           PSEUDODOMAIN=D4
## 26 Extra-Cellular          L1          C1    101           PSEUDODOMAIN=D3
## 1           CellA          A1          A4    101                    D2=D14
## 2           CellA          A4          A8     99                   D14=D25
## 3           CellA          A8         A11    101                   D23=D36
## 4           CellA         A11         A14    101                   D34=D48
## 5           CellA         A11         A17    101                   D34=D55
## 6           CellA       A1|A2          A1    101                     D2=D2
## 19          CellA         A14          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 27          CellA          L2       A1|A2    101           PSEUDODOMAIN=D1
## 28          CellA          L2       A1|A2    101           PSEUDODOMAIN=D3
## 29          CellA          L2       A1|A2    101           PSEUDODOMAIN=D5
## 46          CellA          A4          A8      3                   D13=D23
## 7           CellB          B2          B4     40                    D5=D10
## 8           CellB          B4          B8     85                   D12=D26
## 9           CellB          B8         B11     12                   D26=D37
## 10          CellB          B8         B12    101                   D25=D39
## 11          CellB         B11         B14     55                   D37=D50
## 12          CellB         B12         B16     51                   D40=D55
## 20          CellB         B16          L2    101 PSEUDODOMAIN=PSEUDODOMAIN
## 30          CellB          L4          B2    101           PSEUDODOMAIN=D4
## 32          CellB         B11         B14     47                   D38=D49
## 33          CellB         B12         B16     51                   D39=D56
## 38          CellB          B2          B4     48                    D4=D12
## 39          CellB          B4          B8      6                   D13=D25
## 40          CellB          B8         B11     90                   D24=D36
## 47          CellB          B2          B4     15                    D6=D13
## 48          CellB          B4          B8     12                   D11=D27
## 13          CellC          C1          C3     45                     D1=D8
## 14          CellC          C3          C7     10                    D8=D22
## 15          CellC          C7         C10     81                   D23=D32
## 16          CellC          C7         C11     52                   D22=D36
## 17          CellC         C10         C13     31                   D33=D42
## 18          CellC         C11         C15     12                   D36=D50
## 21          CellC         C13          L4    101 PSEUDODOMAIN=PSEUDODOMAIN
## 31          CellC          L1          C1    101           PSEUDODOMAIN=D3
## 34          CellC          C3          C7     28                    D7=D24
## 35          CellC         C10         C13     42                   D34=D41
## 36          CellC         C11         C15     90                   D37=D49
## 37          CellC          C7         C11     50                   D24=D35
## 41          CellC         C10         C13     30                   D32=D44
## 42          CellC          C1          C4     51                    D2=D10
## 43          CellC          C4          C7     32                   D13=D23
## 44          CellC          C7         C10     21                   D22=D34
## 45          CellC          C4          C7     26                   D11=D21
## 49          CellC          C1          C4      7                    D1=D12
## 50          CellC          C3          C7      9                    D9=D21

In Figure 4 we depict how giving a priority of ligand L4 in the solution over ligand L3, will lead to the re-wring of the interaction in our multi-cellular system as compared to when not considering for such scores in Figure 3.

Users can tweak the parameters lambda1 and lambda2 to define for how much they wish to prioritize the inclusion of TF’s over the significantly expressed ligands in the extra-cellular space. Here we are using the default set values of lambda1=10 and lambda2=15.

Figure 4: LINDA+ Toy Example - Solution 2

5. Loading of Ligand-Receptor enrichment scores and Analysis

In the case when Secretomics data is not available, users may still have evidence of functional ligand-receptor interactions. This evidence can come from previous ligand-enrichment analyses. In such cases, users can integrate the enrichment scores for ligand-receptor pairs into LINDA. Doing so helps guide the network inference towards the desired ligand-receptor interactions. In this case users can provide a named list (for each cell-type) of data-frames consisting of ligand-receptor enrichment scores normalized between the values of -1 and 1.

load(file = system.file("extdata", "toy.lr.scores.RData", package = "LINDAPlus"))
print(lr.scores)
## $CellA
##   lr.interaction score
## 2          L4=A3  0.78
## 
## $CellB
##   lr.interaction score
## 2          L4=B2  0.97
## 
## $CellC
##   lr.interaction score
## 2          L1=C2  0.87

Here we can see that for example, for CellA we are prioritizing the L4->A3 interaction compared to L2->A1|A2. This is reflected in the re-wiring of the interactions compared to the solution that we obtained in Figure 2 as follows:

res <- runLINDAPlus(background.networks.list = background.networks.list, 
                    tf.scores = tf.scores, 
                    solverPath = "~/Downloads/cplex", 
                    top.tf = top.tf, 
                    lr.scores = lr.scores,
                    lambda1 = 10, 
                    lambda3 = 1)
## [1] "Writing the objective function and constraints. This might take a bit of time.."
print(res$combined_solutions)
##             Space Gene_Source Gene_Target Weight                       DDI
## 30 Extra-Cellular          L4          A3    101           PSEUDODOMAIN=D7
## 31 Extra-Cellular          L3          B1    101           PSEUDODOMAIN=D1
## 32 Extra-Cellular          L4          B2    101           PSEUDODOMAIN=D4
## 33 Extra-Cellular          L1          C1    101           PSEUDODOMAIN=D3
## 34 Extra-Cellular          L1          C2    101           PSEUDODOMAIN=D4
## 1           CellA          A3          A6     63                    D8=D20
## 2           CellA          A6          A9    101                   D20=D26
## 3           CellA          A6         A10     61                   D19=D31
## 4           CellA          A9         A12    101                   D28=D40
## 5           CellA         A10         A13     58                   D30=D42
## 6           CellA         A12         A14     52                   D40=D50
## 7           CellA         A13         A17     44                   D43=D56
## 25          CellA         A14          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 35          CellA          L4          A3    101           PSEUDODOMAIN=D7
## 40          CellA          A3          A6     25                   D10=D21
## 41          CellA          A6         A10     30                   D20=D32
## 42          CellA         A10         A13     30                   D32=D43
## 43          CellA         A12         A14     15                   D39=D48
## 44          CellA         A13         A17     49                   D41=D57
## 54          CellA          A3          A6     15                    D9=D19
## 56          CellA         A12         A14     36                   D38=D51
## 59          CellA         A13         A17     10                   D42=D55
## 61          CellA         A10         A13     15                   D31=D41
## 65          CellA          A6         A10     12                   D22=D30
## 8           CellB          B1          B3     52                     D2=D8
## 9           CellB          B2          B4     45                    D4=D12
## 10          CellB          B3          B6     46                    D7=D19
## 11          CellB          B4          B8     49                   D11=D27
## 12          CellB          B6         B10     55                   D19=D31
## 13          CellB          B8         B12    101                   D25=D39
## 14          CellB         B10         B13     70                   D31=D43
## 15          CellB         B10         B14     55                   D34=D47
## 16          CellB         B12         B16     84                   D40=D55
## 26          CellB         B13          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 27          CellB         B16          L2    101 PSEUDODOMAIN=PSEUDODOMAIN
## 36          CellB          L3          B1    101           PSEUDODOMAIN=D1
## 37          CellB          L4          B2    101           PSEUDODOMAIN=D4
## 45          CellB          B1          B3     50                     D3=D7
## 46          CellB          B2          B4     52                    D5=D10
## 47          CellB          B3          B6     45                    D8=D20
## 48          CellB          B4          B8     47                   D12=D26
## 49          CellB          B6         B10     47                   D20=D33
## 50          CellB         B10         B13     32                   D34=D45
## 51          CellB         B10         B14     43                   D32=D48
## 55          CellB         B12         B16     18                   D39=D56
## 57          CellB          B3          B6     12                    D9=D18
## 58          CellB          B4          B8      7                   D13=D25
## 60          CellB          B2          B4      6                    D6=D13
## 62          CellB         B10         B14      5                   D31=D50
## 17          CellC          C1          C3     99                     D1=D8
## 18          CellC          C2          C5    100                    D3=D14
## 19          CellC          C3          C7     99                    D8=D22
## 20          CellC          C5          C8    101                   D15=D28
## 21          CellC          C7         C10     54                   D23=D32
## 22          CellC          C8         C11    101                   D27=D35
## 23          CellC         C10         C13     58                   D33=D42
## 24          CellC         C11         C15    101                   D37=D49
## 28          CellC         C13          L4    101 PSEUDODOMAIN=PSEUDODOMAIN
## 29          CellC         C13          L3    101 PSEUDODOMAIN=PSEUDODOMAIN
## 38          CellC          L1          C1    101           PSEUDODOMAIN=D3
## 39          CellC          L1          C2    101           PSEUDODOMAIN=D4
## 52          CellC          C7         C10     48                   D22=D34
## 53          CellC         C10         C13     44                   D34=D41
## 63          CellC          C1          C4      3                    D1=D12
## 64          CellC          C4          C7      3                   D11=D21
## 66          CellC          C2          C5      2                    D6=D16

Figure 5: LINDA+ Toy Example - Solution 3 We also observe that for CellB while indeed we have provided a higher enrichment score to the L4->B2 interaction compared L3->B1, we still see that L4->B2 is not present in the final solution. This is because we are assigning a relatively low weight (lambda3=1) to the inclusion of ligand-receptor interactions based on enrichment analyses compared to the inclusion of TF’s (lambda1=10). By giving larger value to lambda3, we can make it possible to retreive the L4->B2 interaction.

6. Loading of Cell-Cell Communication scores and Analysis

Users can additionally provide scores (between 0 and 1) representing probability values about how likely would be for two cell-types to directly communicate with each-other (i.e. as made evident through spatial transcriptomics). The higher the score given, the more is likely for a cell-type pair to be directly communicating with each other, and when such score is set to 0, then special constraints will make it so these two cell-types would not be able to directly communicate with each-other. Let’s see how such scores can be provided:

load(file = system.file("extdata", "toy.ccc.scores.RData", package = "LINDAPlus"))
print(ccc.scores)
##           ccc score
## 1 CellA=CellB   0.5
## 2 CellA=CellC   0.0
## 3 CellB=CellC   0.5

From the example given, we can see that we have set that the probability of communicating between CellA and CellB is set to 0. Figure 6 depicts how providing such scores affects the network solution:

res <- runLINDAPlus(background.networks.list = background.networks.list, 
                    tf.scores = tf.scores, 
                    solverPath = "~/Downloads/cplex", 
                    top.tf = top.tf, 
                    ccc.scores = ccc.scores,
                    lambda1 = 10, 
                    lambda3 = 1)
## [1] "Writing the objective function and constraints. This might take a bit of time.."
print(res$combined_solutions)
##             Space Gene_Source Gene_Target Weight                       DDI
## 27 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D1
## 28 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D3
## 29 Extra-Cellular          L2       A1|A2    101           PSEUDODOMAIN=D5
## 30 Extra-Cellular          L3          B1    101           PSEUDODOMAIN=D1
## 31 Extra-Cellular          L4          B2    101           PSEUDODOMAIN=D4
## 32 Extra-Cellular          L1          C1    101           PSEUDODOMAIN=D3
## 33 Extra-Cellular          L1          C2    101           PSEUDODOMAIN=D4
## 1           CellA          A1          A4     52                    D2=D14
## 2           CellA          A4          A8     19                   D14=D25
## 3           CellA          A8         A11    101                   D23=D36
## 4           CellA         A11         A17    101                   D34=D55
## 5           CellA       A1|A2          A1     52                     D2=D2
## 34          CellA          L2       A1|A2    101           PSEUDODOMAIN=D1
## 35          CellA          L2       A1|A2    101           PSEUDODOMAIN=D3
## 36          CellA          L2       A1|A2    101           PSEUDODOMAIN=D5
## 37          CellA          L5       A1|A2    101           PSEUDODOMAIN=D1
## 43          CellA          A2          A5     24                    D4=D18
## 44          CellA          A5          A8     50                   D16=D24
## 45          CellA       A1|A2          A2     24                     D4=D4
## 54          CellA          A2          A5     27                    D6=D15
## 55          CellA          A4          A8     34                   D13=D23
## 57          CellA       A1|A2          A2     27                     D6=D6
## 6           CellB          B1          B3     40                     D2=D8
## 7           CellB          B2          B4     50                    D5=D10
## 8           CellB          B3          B6     20                    D9=D18
## 9           CellB          B4          B8    101                   D12=D26
## 10          CellB          B6         B10     11                   D19=D31
## 11          CellB          B8         B12    101                   D25=D39
## 12          CellB         B10         B13     18                   D34=D45
## 13          CellB         B10         B14     82                   D32=D48
## 14          CellB         B12         B16    101                   D39=D56
## 23          CellB         B13          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 24          CellB         B16          L2    101 PSEUDODOMAIN=PSEUDODOMAIN
## 38          CellB          L3          B1    101           PSEUDODOMAIN=D1
## 39          CellB          L4          B2    101           PSEUDODOMAIN=D4
## 40          CellB          L5          B1    101           PSEUDODOMAIN=D1
## 46          CellB          B1          B3     62                     D3=D7
## 47          CellB          B3          B6     42                    D8=D20
## 48          CellB          B6         B10     91                   D20=D33
## 49          CellB         B10         B13     84                   D31=D43
## 56          CellB          B2          B4     26                    D6=D13
## 58          CellB          B2          B4     27                    D4=D12
## 59          CellB          B3          B6     41                    D7=D19
## 60          CellB         B10         B14     12                   D31=D50
## 61          CellB         B10         B14      9                   D34=D47
## 15          CellC          C1          C3     86                     D1=D8
## 16          CellC          C2          C5     93                    D3=D14
## 17          CellC          C3          C7     85                    D8=D22
## 18          CellC          C5          C8    100                   D15=D28
## 19          CellC          C7         C10      2                   D23=D32
## 20          CellC          C8         C11    100                   D27=D35
## 21          CellC         C10         C13      2                   D33=D42
## 22          CellC         C11         C15    100                   D37=D49
## 25          CellC         C13          L4    101 PSEUDODOMAIN=PSEUDODOMAIN
## 26          CellC         C13          L3    101 PSEUDODOMAIN=PSEUDODOMAIN
## 41          CellC          L1          C1    101           PSEUDODOMAIN=D3
## 42          CellC          L1          C2    101           PSEUDODOMAIN=D4
## 50          CellC          C1          C4      9                    D2=D10
## 51          CellC          C4          C7     16                   D11=D21
## 52          CellC          C7         C10    100                   D22=D34
## 53          CellC         C10         C13    100                   D34=D41
## 62          CellC          C1          C4      8                    D1=D12
## 63          CellC          C2          C5      7                    D6=D16
## 64          CellC          C2          C5      3                    D4=D15
## 65          CellC          C3          C7      2                    D7=D24
## 66          CellC          C5          C9      2                   D16=D30
## 67          CellC          C9         C12      2                   D31=D38
## 68          CellC         C12         C15      2                   D39=D50

Figure 6: LINDA+ Toy Example - Solution 4 As we can notice, all the extra-cellular interactions which make possible the communication between CellA and CellC are not present in the solution.

7. Splice Effects

Given that LINDA+ simultaneously infers not only protein-protein interactions but also domain interactions, it enables us to examine how RNA modification mechanisms, like alternative splicing, might influence the presence or absence of domains within the structure of interacting proteins. This, in turn, allows us to assess the effects of such modifications on the interactions between proteins.

This is achieved by giving to the network inference function an as.input data-frame object which lists domain ID’s of certain proteins for any cell-type and how they have been affected based on, for example, evidence from differential splicing analyses. These effects can include exclusion (when we know that a domain of a protein has been skipped) or inclusion (when we try to understand how the inclusion of a domain in the network solution might affect the protein interactions).

In the toy example below it can be demonstrated how the as.input object should be defined.

load(file = system.file("extdata", "toy.as.input.RData", package = "LINDAPlus"))
print(as.input)
##   cell_type proteinID domainID    effect
## 1     CellA        A8      D23 exclusion
## 2     CellA        A9      D26 inclusion
## 3     CellA        A9      D28 inclusion

Such an object, can then be given as an input to the main runLINDAPlus() function in order to infer splice-dependent mechanisms of protein interactions.

res <- runLINDAPlus(background.networks.list = background.networks.list, 
                    tf.scores = tf.scores,
                    as.input = as.input,
                    solverPath = "~/Downloads/cplex", 
                    top.tf = top.tf)
## [1] "3 domains out of 3 total given in the 'as.input' have been found in the background network."
## [1] "Writing the objective function and constraints. This might take a bit of time.."
print(res$combined_solutions)
##             Space Gene_Source Gene_Target Weight                       DDI
## 28 Extra-Cellular          L4          A3    101           PSEUDODOMAIN=D7
## 29 Extra-Cellular          L3          B1    101           PSEUDODOMAIN=D1
## 30 Extra-Cellular          L4          B2     99           PSEUDODOMAIN=D4
## 31 Extra-Cellular          L1          C1    101           PSEUDODOMAIN=D3
## 1           CellA          A3          A6     41                   D10=D21
## 2           CellA          A6          A9    101                   D20=D26
## 3           CellA          A6         A10     67                   D20=D32
## 4           CellA          A9         A12    101                   D28=D40
## 5           CellA         A10         A13      2                   D32=D43
## 6           CellA         A12         A14     77                   D40=D50
## 7           CellA         A13         A17     15                   D41=D57
## 23          CellA         A14          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 32          CellA          L4          A3    101           PSEUDODOMAIN=D7
## 36          CellA          A3          A6     17                    D8=D20
## 37          CellA          A6         A10     33                   D19=D31
## 38          CellA         A10         A13     60                   D30=D42
## 39          CellA         A13         A17     29                   D43=D56
## 45          CellA         A12         A14     22                   D38=D51
## 46          CellA         A13         A17     59                   D42=D55
## 47          CellA          A3          A6     45                    D9=D19
## 57          CellA         A12         A14      4                   D39=D48
## 58          CellA         A10         A13     41                   D31=D41
## 65          CellA          A6         A10      3                   D22=D30
## 8           CellB          B1          B3     54                     D3=D7
## 9           CellB          B2          B4     13                    D5=D10
## 10          CellB          B3          B6     32                    D8=D20
## 11          CellB          B4          B8     75                   D12=D26
## 12          CellB          B6         B10     45                   D20=D33
## 13          CellB          B8         B12    101                   D25=D39
## 14          CellB         B10         B13     72                   D34=D45
## 15          CellB         B10         B14     63                   D32=D48
## 16          CellB         B12         B16     90                   D40=D55
## 24          CellB         B13          L1    101 PSEUDODOMAIN=PSEUDODOMAIN
## 25          CellB         B16          L2    101 PSEUDODOMAIN=PSEUDODOMAIN
## 33          CellB          L3          B1    101           PSEUDODOMAIN=D1
## 34          CellB          L4          B2     99           PSEUDODOMAIN=D4
## 43          CellB          B1          B3     48                     D2=D8
## 44          CellB          B2          B4     69                    D4=D12
## 48          CellB          B3          B6     27                    D9=D18
## 49          CellB          B3          B6     44                    D7=D19
## 50          CellB          B4          B8     19                   D13=D25
## 51          CellB          B6         B10     57                   D19=D31
## 52          CellB          B1          B4      3                    D2=D12
## 53          CellB         B10         B13     30                   D31=D43
## 54          CellB         B10         B14     31                   D31=D50
## 55          CellB         B10         B14      9                   D34=D47
## 56          CellB          B2          B4     19                    D6=D13
## 59          CellB          B4          B8      9                   D11=D27
## 62          CellB         B12         B16     12                   D39=D56
## 17          CellC          C1          C3     90                     D1=D8
## 18          CellC          C3          C7     76                    D8=D22
## 19          CellC          C7         C10     18                   D23=D32
## 20          CellC          C7         C11     85                   D22=D36
## 21          CellC         C10         C13      8                   D33=D42
## 22          CellC         C11         C15      4                   D36=D50
## 26          CellC         C13          L4    101 PSEUDODOMAIN=PSEUDODOMAIN
## 27          CellC         C13          L3    101 PSEUDODOMAIN=PSEUDODOMAIN
## 35          CellC          L1          C1    101           PSEUDODOMAIN=D3
## 40          CellC          C7         C10     84                   D22=D34
## 41          CellC         C10         C13     82                   D34=D41
## 42          CellC         C11         C15     98                   D37=D49
## 60          CellC          C7         C11     17                   D24=D35
## 61          CellC         C10         C13     13                   D32=D44
## 63          CellC          C1          C4     10                    D2=D10
## 64          CellC          C4          C7      6                   D11=D21
## 66          CellC          C3          C7     14                    D7=D24
## 67          CellC          C1          C4      3                    D1=D12
## 68          CellC          C4          C7      7                   D13=D23
## 69          CellC          C3          C7      2                    D9=D21

In the figure below we can see how the addition of information about included or excluded protein domains affects the re-wiring of the protein interactions.

Figure 7: LINDA+ Toy Example - Solution 5

8. Perturbation Effects

Such feature which allows the users to introduce into the multicellular system effects from i.e. distant ligands or ligands which they themselves experimentally introduce into the system. In the case where the user wisshes to add perturbation effects from a specific ligand which does not come from any of the cell-types, LINDA+ automatically introduces into the system an auxilliary PseudoCell which consists of a single PSEUDOLIGAND, PSEUDORECEPTOR, PSEUDOPROTEIN and PSEUDOTF where the latter is then connected to the ligands that we are introducing in the system. In this case LINDA+ will then infer the interaction mechanisms happening within such PseudoCell and which lead to the secretion of the ligands which the users are are introducing remotely.

Let’s see how this example works by first loading the background network as well as the TF score objects with the effects from the PseudoCell

load(file = system.file("extdata", "toy.background.networks.list.with.perturbations.RData", package = "LINDAPlus"))
print(background.networks.list$background.networks$PseudoCell)
##    pfam_source  pfam_target    gene_source    gene_target
## 1         <NA> PSEUDODOMAIN   PSEUDOLIGAND PSEUDORECEPTOR
## 2 PSEUDODOMAIN PSEUDODOMAIN PSEUDORECEPTOR  PSEUDOPROTEIN
## 3 PSEUDODOMAIN PSEUDODOMAIN  PSEUDOPROTEIN       PSEUDOTF
## 4         <NA>         <NA>       PSEUDOTF             L5
load(file = system.file("extdata", "toy.tf.scores.with.perturbations.RData", package = "LINDAPlus"))
print(tf.scores$PseudoCell)
##         tf score
## 1 PSEUDOTF     1
load(file = system.file("extdata", "toy.top.tf.with.perturbations.RData", package = "LINDAPlus"))
print(top.tf)
##      CellA      CellB      CellC PseudoCell 
##          2          3          2          1

As we can notice, in igands.receptors$perturbation.ligands we have defined the names of the ligands which we consider as perturbation/distant (meaning that it has not been secreted by any of the cell-types that we are considering).

We can now run the network inference analysis as usual:

res <- runLINDAPlus(background.networks.list = background.networks.list, 
                    tf.scores = tf.scores,
                    solverPath = "~/Downloads/cplex", 
                    top.tf = top.tf)
## [1] "Writing the objective function and constraints. This might take a bit of time.."
print(res$combined_solutions)
##             Space    Gene_Source    Gene_Target Weight
## 30 Extra-Cellular             L5          A1|A2     84
## 31 Extra-Cellular             L5             B1    101
## 32 Extra-Cellular             L1             C1    101
## 33 Extra-Cellular   PSEUDOLIGAND PSEUDORECEPTOR    101
## 39 Extra-Cellular             L2          A1|A2     34
## 40 Extra-Cellular             L2          A1|A2     34
## 44 Extra-Cellular             L2          A1|A2     15
## 50 Extra-Cellular             L4             B2     84
## 1           CellA             A1             A4     76
## 2           CellA             A4             A8     28
## 3           CellA             A8            A11    101
## 4           CellA            A11            A14    101
## 5           CellA            A11            A17    101
## 6           CellA          A1|A2             A1     76
## 22          CellA            A14             L1    101
## 34          CellA             L5          A1|A2     84
## 41          CellA             L2          A1|A2     34
## 42          CellA             L2          A1|A2     34
## 45          CellA             L2          A1|A2     15
## 52          CellA             A4             A8     49
## 68          CellA             A2             A5     26
## 69          CellA             A5             A8     26
## 70          CellA          A1|A2             A2     14
## 72          CellA          A1|A2             A2     13
## 7           CellB             B1             B3     47
## 8           CellB             B1             B4     18
## 9           CellB             B3             B6     21
## 10          CellB             B4             B8     73
## 11          CellB             B6            B10     56
## 12          CellB             B8            B12    101
## 13          CellB            B10            B13     38
## 14          CellB            B10            B14     34
## 15          CellB            B12            B16     59
## 23          CellB            B13             L1    101
## 24          CellB            B16             L2    101
## 35          CellB             L5             B1    101
## 37          CellB            B12            B16     43
## 43          CellB            B10            B13     64
## 47          CellB             B1             B3     55
## 48          CellB             B2             B4     16
## 49          CellB             B3             B6     52
## 51          CellB             L4             B2     84
## 53          CellB             B2             B4     57
## 54          CellB             B3             B6     30
## 55          CellB             B6            B10     46
## 56          CellB            B10            B14     32
## 57          CellB            B10            B14     37
## 60          CellB             B2             B4     13
## 61          CellB             B4             B8     22
## 71          CellB             B4             B8      8
## 16          CellC             C1             C3     81
## 17          CellC             C3             C7     50
## 18          CellC             C7            C10     65
## 19          CellC             C7            C11     95
## 20          CellC            C10            C13     57
## 21          CellC            C11            C15     96
## 25          CellC            C13             L4     98
## 36          CellC             L1             C1    101
## 38          CellC            C10            C13     39
## 46          CellC            C13             L3      4
## 58          CellC             C1             C4     10
## 59          CellC             C4             C7     17
## 62          CellC             C1             C4     12
## 63          CellC             C3             C7     16
## 64          CellC             C3             C7     17
## 65          CellC             C7            C10     37
## 66          CellC            C10            C13      7
## 67          CellC             C7            C11      7
## 73          CellC             C4             C7      5
## 74          CellC            C11            C15      6
## 26     PseudoCell   PSEUDOLIGAND PSEUDORECEPTOR    101
## 27     PseudoCell PSEUDORECEPTOR  PSEUDOPROTEIN    101
## 28     PseudoCell  PSEUDOPROTEIN       PSEUDOTF    101
## 29     PseudoCell       PSEUDOTF             L5    101
##                          DDI
## 30           PSEUDODOMAIN=D1
## 31           PSEUDODOMAIN=D1
## 32           PSEUDODOMAIN=D3
## 33 PSEUDODOMAIN=PSEUDODOMAIN
## 39           PSEUDODOMAIN=D3
## 40           PSEUDODOMAIN=D5
## 44           PSEUDODOMAIN=D1
## 50           PSEUDODOMAIN=D4
## 1                     D2=D14
## 2                    D14=D25
## 3                    D23=D36
## 4                    D34=D48
## 5                    D34=D55
## 6                      D2=D2
## 22 PSEUDODOMAIN=PSEUDODOMAIN
## 34           PSEUDODOMAIN=D1
## 41           PSEUDODOMAIN=D3
## 42           PSEUDODOMAIN=D5
## 45           PSEUDODOMAIN=D1
## 52                   D13=D23
## 68                    D4=D18
## 69                   D16=D24
## 70                     D6=D6
## 72                     D4=D4
## 7                      D3=D7
## 8                     D2=D12
## 9                     D8=D20
## 10                   D12=D26
## 11                   D20=D33
## 12                   D25=D39
## 13                   D34=D45
## 14                   D32=D48
## 15                   D40=D55
## 23 PSEUDODOMAIN=PSEUDODOMAIN
## 24 PSEUDODOMAIN=PSEUDODOMAIN
## 35           PSEUDODOMAIN=D1
## 37                   D39=D56
## 43                   D31=D43
## 47                     D2=D8
## 48                    D5=D10
## 49                    D9=D18
## 51           PSEUDODOMAIN=D4
## 53                    D4=D12
## 54                    D7=D19
## 55                   D19=D31
## 56                   D31=D50
## 57                   D34=D47
## 60                    D6=D13
## 61                   D13=D25
## 71                   D11=D27
## 16                     D1=D8
## 17                    D8=D22
## 18                   D22=D34
## 19                   D22=D36
## 20                   D32=D44
## 21                   D37=D49
## 25 PSEUDODOMAIN=PSEUDODOMAIN
## 36           PSEUDODOMAIN=D3
## 38                   D34=D41
## 46 PSEUDODOMAIN=PSEUDODOMAIN
## 58                    D2=D10
## 59                   D11=D21
## 62                    D1=D12
## 63                    D7=D24
## 64                    D9=D21
## 65                   D23=D32
## 66                   D33=D42
## 67                   D24=D35
## 73                   D13=D23
## 74                   D36=D50
## 26 PSEUDODOMAIN=PSEUDODOMAIN
## 27 PSEUDODOMAIN=PSEUDODOMAIN
## 28 PSEUDODOMAIN=PSEUDODOMAIN
## 29 PSEUDODOMAIN=PSEUDODOMAIN

In the figure below we can see the inferred network solution when the remote ligand L5 has been introduced into our three-cellular system.

Figure 8: LINDA+ Toy Example - Solution 6 The networks can of course also be further refined by introduceng additional information such as the ligand.scores:

res <- runLINDAPlus(background.networks.list = background.networks.list, 
                    tf.scores = tf.scores,
                    solverPath = "~/Downloads/cplex", 
                    top.tf = top.tf, 
                    ligand.scores = ligand.scores)
## [1] "Writing the objective function and constraints. This might take a bit of time.."
print(res$combined_solutions)
##             Space    Gene_Source    Gene_Target Weight
## 30 Extra-Cellular             L5          A1|A2     94
## 31 Extra-Cellular             L5             B1    101
## 32 Extra-Cellular             L4             B2     79
## 33 Extra-Cellular             L1             C1    101
## 34 Extra-Cellular   PSEUDOLIGAND PSEUDORECEPTOR    101
## 42 Extra-Cellular             L2          A1|A2     18
## 43 Extra-Cellular             L2          A1|A2     18
## 49 Extra-Cellular             L2          A1|A2      7
## 1           CellA             A1             A4     97
## 2           CellA             A4             A8     93
## 3           CellA             A8            A11    101
## 4           CellA            A11            A14    101
## 5           CellA            A11            A17    101
## 6           CellA          A1|A2             A1     97
## 22          CellA            A14             L1    101
## 35          CellA             L5          A1|A2     94
## 44          CellA             L2          A1|A2     18
## 45          CellA             L2          A1|A2     18
## 50          CellA             L2          A1|A2      7
## 51          CellA             A4             A8      5
## 64          CellA             A2             A5      5
## 65          CellA             A5             A8      5
## 66          CellA          A1|A2             A2      5
## 7           CellB             B1             B3     22
## 8           CellB             B2             B4     19
## 9           CellB             B3             B6     39
## 10          CellB             B4             B8     43
## 11          CellB             B6            B10     53
## 12          CellB             B8            B12    101
## 13          CellB            B10            B13     77
## 14          CellB            B10            B14     42
## 15          CellB            B12            B16     64
## 23          CellB            B13             L1    101
## 24          CellB            B16             L2    101
## 36          CellB             L4             B2     79
## 37          CellB             L5             B1    101
## 39          CellB            B10            B13     25
## 41          CellB            B12            B16     38
## 52          CellB             B1             B3     80
## 53          CellB             B2             B4      8
## 54          CellB             B1             B4     23
## 55          CellB             B3             B6     55
## 56          CellB             B2             B4     54
## 57          CellB             B3             B6      9
## 58          CellB             B4             B8     49
## 59          CellB             B4             B8     11
## 60          CellB             B6            B10     49
## 61          CellB            B10            B14     41
## 62          CellB            B10            B14     20
## 16          CellC             C1             C3     52
## 17          CellC             C3             C7     52
## 18          CellC             C7            C10     77
## 19          CellC             C7            C11     78
## 20          CellC            C10            C13     74
## 21          CellC            C11            C15     94
## 25          CellC            C13             L4    101
## 38          CellC             L1             C1    101
## 40          CellC            C10            C13     21
## 46          CellC            C10            C13      8
## 47          CellC             C1             C4     25
## 48          CellC             C4             C7     42
## 63          CellC             C1             C4     26
## 67          CellC             C7            C10     25
## 68          CellC             C7            C11     24
## 69          CellC             C4             C7      9
## 70          CellC            C11            C15      8
## 26     PseudoCell   PSEUDOLIGAND PSEUDORECEPTOR    101
## 27     PseudoCell PSEUDORECEPTOR  PSEUDOPROTEIN    101
## 28     PseudoCell  PSEUDOPROTEIN       PSEUDOTF    101
## 29     PseudoCell       PSEUDOTF             L5    101
##                          DDI
## 30           PSEUDODOMAIN=D1
## 31           PSEUDODOMAIN=D1
## 32           PSEUDODOMAIN=D4
## 33           PSEUDODOMAIN=D3
## 34 PSEUDODOMAIN=PSEUDODOMAIN
## 42           PSEUDODOMAIN=D3
## 43           PSEUDODOMAIN=D5
## 49           PSEUDODOMAIN=D1
## 1                     D2=D14
## 2                    D14=D25
## 3                    D23=D36
## 4                    D34=D48
## 5                    D34=D55
## 6                      D2=D2
## 22 PSEUDODOMAIN=PSEUDODOMAIN
## 35           PSEUDODOMAIN=D1
## 44           PSEUDODOMAIN=D3
## 45           PSEUDODOMAIN=D5
## 50           PSEUDODOMAIN=D1
## 51                   D13=D23
## 64                    D6=D15
## 65                   D16=D24
## 66                     D4=D4
## 7                      D3=D7
## 8                     D5=D10
## 9                     D8=D20
## 10                   D12=D26
## 11                   D20=D33
## 12                   D25=D39
## 13                   D34=D45
## 14                   D32=D48
## 15                   D40=D55
## 23 PSEUDODOMAIN=PSEUDODOMAIN
## 24 PSEUDODOMAIN=PSEUDODOMAIN
## 36           PSEUDODOMAIN=D4
## 37           PSEUDODOMAIN=D1
## 39                   D31=D43
## 41                   D39=D56
## 52                     D2=D8
## 53                    D6=D13
## 54                    D2=D12
## 55                    D9=D18
## 56                    D4=D12
## 57                    D7=D19
## 58                   D11=D27
## 59                   D13=D25
## 60                   D19=D31
## 61                   D34=D47
## 62                   D31=D50
## 16                     D1=D8
## 17                    D8=D22
## 18                   D22=D34
## 19                   D22=D36
## 20                   D32=D44
## 21                   D37=D49
## 25 PSEUDODOMAIN=PSEUDODOMAIN
## 38           PSEUDODOMAIN=D3
## 40                   D34=D41
## 46                   D33=D42
## 47                    D2=D10
## 48                   D11=D21
## 63                    D1=D12
## 67                   D23=D32
## 68                   D24=D35
## 69                   D13=D23
## 70                   D36=D50
## 26 PSEUDODOMAIN=PSEUDODOMAIN
## 27 PSEUDODOMAIN=PSEUDODOMAIN
## 28 PSEUDODOMAIN=PSEUDODOMAIN
## 29 PSEUDODOMAIN=PSEUDODOMAIN

Figure 9 depticts how the additional information on the ligand.scores further refines the network.

Figure 9: LINDA+ Toy Example - Solution 7

8. Visualization

Users can additionally check for the type/attributes of each node component in the generated networks. This would help for further visualization of the networks through Cytoscape or through the LINDAvis R-shiny App (under development).

print(res$node_attributes)
##                            node attribute
## 1                            A1   Protein
## 2                            A4   Protein
## 3                            A8   Protein
## 4                           A11   Protein
## 5                         A1|A2  Receptor
## 6                            B1  Receptor
## 7                            B2  Receptor
## 8                            B3   Protein
## 9                            B4   Protein
## 10                           B6   Protein
## 11                           B8   Protein
## 12                          B10   Protein
## 13                          B12   Protein
## 14                           C1  Receptor
## 15                           C3   Protein
## 16                           C7   Protein
## 17                          C10   Protein
## 18                          C11   Protein
## 19                          A14        TF
## 20                          B13        TF
## 21                          B16        TF
## 22                          C13        TF
## 23                 PSEUDOLIGAND    Ligand
## 24               PSEUDORECEPTOR  Receptor
## 25                PSEUDOPROTEIN   Protein
## 26                     PSEUDOTF        TF
## 27                           L5    Ligand
## 28                           L4    Ligand
## 29                           L1    Ligand
## 30                           L2    Ligand
## 31                           C4   Protein
## 32                           A2   Protein
## 33                           A5   Protein
## 34                          A17        TF
## 35                          B14        TF
## 36                          C15        TF
## 37                        A1_D2    Domain
## 38                       A4_D14    Domain
## 39                       A8_D25    Domain
## 40                       A8_D23    Domain
## 41                      A11_D36    Domain
## 42                      A11_D34    Domain
## 43                      A14_D48    Domain
## 44                      A17_D55    Domain
## 45                     A1|A2_D2    Domain
## 46                        B1_D3    Domain
## 47                        B3_D7    Domain
## 48                        B2_D5    Domain
## 49                       B4_D10    Domain
## 50                        B3_D8    Domain
## 51                       B6_D20    Domain
## 52                       B4_D12    Domain
## 53                       B8_D26    Domain
## 54                      B10_D33    Domain
## 55                       B8_D25    Domain
## 56                      B12_D39    Domain
## 57                      B10_D34    Domain
## 58                      B13_D45    Domain
## 59                      B10_D32    Domain
## 60                      B14_D48    Domain
## 61                      B12_D40    Domain
## 62                      B16_D55    Domain
## 63                        C1_D1    Domain
## 64                        C3_D8    Domain
## 65                       C7_D22    Domain
## 66                      C10_D34    Domain
## 67                      C11_D36    Domain
## 68                      C10_D32    Domain
## 69                      C13_D44    Domain
## 70                      C11_D37    Domain
## 71                      C15_D49    Domain
## 72             A14_PSEUDODOMAIN    Domain
## 73              L1_PSEUDODOMAIN    Domain
## 74             B13_PSEUDODOMAIN    Domain
## 75             B16_PSEUDODOMAIN    Domain
## 76              L2_PSEUDODOMAIN    Domain
## 77             C13_PSEUDODOMAIN    Domain
## 78              L4_PSEUDODOMAIN    Domain
## 79    PSEUDOLIGAND_PSEUDODOMAIN    Domain
## 80  PSEUDORECEPTOR_PSEUDODOMAIN    Domain
## 81   PSEUDOPROTEIN_PSEUDODOMAIN    Domain
## 82        PSEUDOTF_PSEUDODOMAIN    Domain
## 83              L5_PSEUDODOMAIN    Domain
## 84                     A1|A2_D1    Domain
## 85                        B1_D1    Domain
## 86                        B2_D4    Domain
## 87                        C1_D3    Domain
## 88                      B10_D31    Domain
## 89                      B13_D43    Domain
## 90                      C13_D41    Domain
## 91                      B16_D56    Domain
## 92                     A1|A2_D3    Domain
## 93                     A1|A2_D5    Domain
## 94                      C10_D33    Domain
## 95                      C13_D42    Domain
## 96                        C1_D2    Domain
## 97                       C4_D10    Domain
## 98                       C4_D11    Domain
## 99                       C7_D21    Domain
## 100                      A4_D13    Domain
## 101                       B1_D2    Domain
## 102                       B2_D6    Domain
## 103                      B4_D13    Domain
## 104                       B3_D9    Domain
## 105                      B6_D18    Domain
## 106                      B6_D19    Domain
## 107                      B4_D11    Domain
## 108                      B8_D27    Domain
## 109                     B14_D47    Domain
## 110                     B14_D50    Domain
## 111                      C4_D12    Domain
## 112                       A2_D6    Domain
## 113                      A5_D15    Domain
## 114                      A5_D16    Domain
## 115                      A8_D24    Domain
## 116                    A1|A2_D4    Domain
## 117                       A2_D4    Domain
## 118                      C7_D23    Domain
## 119                      C7_D24    Domain
## 120                     C11_D35    Domain
## 121                      C4_D13    Domain
## 122                     C15_D50    Domain